<!--
Copyright 2004 - 2013 Wayne Grant
          2013 - 2017 Kai Kramer

This file is part of KeyStore Explorer.

KeyStore Explorer is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

KeyStore Explorer is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with KeyStore Explorer.  If not, see <http://www.gnu.org/licenses/>.
-->
<html>
    <head>
        <title>Open a PKCS#11 KeyStore</title>
        <link rel=stylesheet href="help.css" type="text/css">
    </head>

    <body>

        <h1>Open a PKCS#11 KeyStore</h1>
        <hr>

        <p>
            PKCS#11 is a standard that defines an API for accessing cryptographic devices. In Java the SunPKCS11
            provider wraps the PKCS#11 API and transforms it into the keystore API.
        </p>

        <p>
        To open a PKCS#11 KeyStore:
        </p>

        <ol>
            <li>From the <b>File</b> menu, choose <b>Open Special</b> and from the
                sub-menu <b>Open PKCS#11</b>.</li>

            <br>

            <li>The <b>Open PKCS#11</b> dialog will appear. There are two ways to use a PKCS#11 library in KSE:</li>

            <ol>
                <li>If the SunPKCS11 provider has already been added to the Java Security properties file (this is
                    described in detail in the
                    <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/p11guide.html">Java PKCS#11 Reference Guide</a>
                    and also often in the documentation of the cryptographic device), then you can then simply select it
                    in this dialog.
                </li>
                <li>
                    Alternatively, KSE can register the SunPKCS11 provider itself, if you provide the path to the
                    PKCS#11 library and the right slot index.
                </li>
            </ol>

            <p>Press the <b>OK</b> button when you have selected one of the two methods.</p>

            <br>

            <li>Type in the KeyStore's password and press the <b>OK</b> button.</li>

            <br>

            <li>The PKCS#11 KeyStore will appear as an additional tab.</li>

        </ol>

        <p>
            Note that because PKCS#11 libraries are native code you have to make sure that both the JRE and the
            PKCS#11 library are either 32 or 64 bit.
        </p>

        <br><br>

        <hr>

        <center><small>Copyright 2004 - 2013 Wayne Grant, 2013 - 2017 Kai Kramer</small></center>

    </body>
</html>
